package com.qianniu.napi.admin.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 商品信息
 * </p>
 *
 * @author chenxuebin
 * @since 2018-06-23
 */
@TableName("t_goods")
public class Goods extends Model<Goods> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 商品分类
     */
	private Long cid;
	private Long gdcid;
	private Long tplid;
    /**
     * 商品特色、卖点
     */
	private String characteristic;
    /**
     * 物流模板编号，0 代表不使用物流
     */
	@TableField("logistics_id")
	private Long logisticsId;

    /**
     * 最低价
     */
	@TableField("min_price")
	private BigDecimal minPrice;
    /**
     * 最终售价
     */
	private BigDecimal saleprice;
	private BigDecimal hyprice;
	private BigDecimal lmfan;
	private BigDecimal ptfan;

    /**
     * 商品名
     */
	private String name;
    /**
     * 收藏数
     */
	@TableField("number_fav")
	private Integer numberFav;
    /**
     * 好评数
     */
	@TableField("number_grade")
	private Integer numberGrade;
    /**
     * 订单数
     */
	@TableField("number_orders")
	private Integer numberOrders;

    /**
     * 销量数
     */
	@TableField("number_sale")
	private Integer numberSale;

	@TableField("has_sku")
	private Integer hasSku;

	@TableField("goods_no")
	private String goodsNo;

	private Integer type;
	private Integer fxlevel;

    /**
     * 售价
     */
	private BigDecimal price;
    /**
     * 排序
     */
	private Integer paixu;

	private Integer xiangou;
	private BigDecimal jifen;
	private Integer ptotal;

	private String thumb;
	private String thumbhd;
	private String photos;
	private String xmtype;

	private String sname;

	private String hytype;

	@TableField(exist = false)
	private String hytypeName;

	@TableField(exist = false)
	private String yxtypeName;

	@TableField(exist = false)
	private Store store;

	@TableField(exist = false)
	private List<PintuanLog> tuanyuan;

	@TableField(exist = false)
	private List<CutpriceHelp> kanyuan;

	@TableField(exist = false)
	private List<Choujiang> jianpin;

	@TableField(exist = false)
	private List<ChoujiangLog> choujilu;

	@TableField(exist = false)
	private List<GoodsSku> skuList;

	@TableField(exist = false)
	private Boolean shoucang;
	@TableField(exist = false)
	private Boolean dpshoucang;

    /**
     * 产品类型@1:实物产品；2:虚拟产品；3:预约到店服务；4：预约上门服务
     */
	private Integer gtype;

    /**
     * 起售时间
     */
	@TableField("date_start")
	private Date dateStart;

    /**
     * 停售时间
     */
	@TableField("date_end")
	private Date dateEnd;

    /**
     * 介绍
     */
	private String info;

	//文字介绍
	private String jieshao;
    /**
     * 启用状态=商品状态：上架，下架
     */
	private Integer state;
	private Integer status;

    /**
     * 总库存数
     */
	private Integer stores;
    /**
     * 商品视频
     */
	@TableField("video")
	private String video;
    /**
     * 商品图
     */
	private String pic;
	private String homeurl;

	private String extkey;

	private String extval;

	private String quans;

	/**
	 * 商品包装清单
	 */
	private String packinglist;

	/**
	 * 售后服务
	 */
	private String afterservice;

	//规格参数
	private String introduction;

	@TableField("is_deleted")
	private Integer isDeleted;

//	/**
//	 * 自购赠送类型0:无1:送积分2:送现金3:送优惠券；4：虚拟币
//	 */
//	@TableField("zgfan_type")
//	private Integer zgfanType;

//	/**
//	 * 自购奖励积分|现金|优惠券|虚拟币
//	 */
//	@TableField("zgfan_mount")
//	private Integer zgfanMount;

//	/**
//	 * 自购奖励类型ID，如券id
//	 */
//	@TableField("zgfan_ywid")
//	private Long zgfanYwid;

//    /**
//     * 分享奖励0:无1:送积分2:送现金3:送优惠券
//     */
//	@TableField("share_bonus_type")
//	private Integer shareBonusType;

//    /**
//     * 奖励积分|现金|优惠券
//     */
//	@TableField("share_mount")
//	private BigDecimal shareMount;

//    /**
//     * 分享奖励类型ID，如券id
//     */
//	@TableField("share_ywid")
//	private Long shareYwid;

	private String sharewa;
	private String shareimg;

    /**
     * 最大可抵扣积分比例（实际价格的比例）
     */
	@TableField("max_use_jifen")
	private Double maxUseJifen;

    /**
     * 可扣除优惠券
     */
	@TableField("max_use_coupon")
	private Integer maxUseCoupon;

    /**
     * 是否支持会员卡交易
     */
	@TableField("is_member")
	private Integer isMember;

    /**
     * 是否支持积分抵扣交易
     */
	@TableField("is_jifen")
	private Integer isJifen;

	@TableField("is_xuni")
	private Integer isXuni;

	private Integer isqunzf;

	private Integer mlevel;

//	private Integer fxmode;

//	@TableField("fantime_type")
//	private Integer fantimeType;

    /**
     * 是否支持优惠券交易
     */
	@TableField("is_coupon")
	private Integer isCoupon;

	@TableField("is_hot")
	private Integer isHot;

	@TableField("is_recommend")
	private Integer isRecommend;

	@TableField("is_nav")
	private Integer isNav;

	@TableField("is_share")
	private Integer isShare;

	@TableField(exist = false)
	private Integer dhshu;

	@TableField(exist = false)
	private List<PintuanOpen> pintuan;

	@TableField(exist = false)
	private List<CutpriceOpen> kanjia;

	private Integer canyushu;
	private Integer fenxiaoshu;
	private Integer hexiaoshu;
	private Integer fxjiangshu;

	private String extkey1;
	@TableField(exist = false)
	private String extval1;

	private String extkey2;
	@TableField(exist = false)
	private String extval2;

	private String extkey3;
	@TableField(exist = false)
	private String extval3;

    /**
     * 商品二维码
     */
	private String barcode;
    /**
     * 商品重量：KG
     */
	private Double weight;
    /**
     * 浏览量
     */
	private Integer views;
	private Integer zhiding;
	private Integer pstype;

	private Long uid;
	private Long mid;
	private Long mpid;
	private Long sid;
	private Long leagueid;

	private Long supplyid;
	private Long staffid;

	private Integer timelong;
	private Integer fanwei;

	private Long modifier;

	private Date createtime;
	private Date modifytime;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getCid() {
		return cid;
	}

	public void setCid(Long cid) {
		this.cid = cid;
	}

	public String getCharacteristic() {
		return characteristic;
	}

	public void setCharacteristic(String characteristic) {
		this.characteristic = characteristic;
	}

	public Long getLogisticsId() {
		return logisticsId;
	}

	public void setLogisticsId(Long logisticsId) {
		this.logisticsId = logisticsId;
	}

	public BigDecimal getMinPrice() {
		return minPrice;
	}

	public void setMinPrice(BigDecimal minPrice) {
		this.minPrice = minPrice;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getNumberFav() {
		return numberFav;
	}

	public void setNumberFav(Integer numberFav) {
		this.numberFav = numberFav;
	}

	public Integer getNumberGrade() {
		return numberGrade;
	}

	public void setNumberGrade(Integer numberGrade) {
		this.numberGrade = numberGrade;
	}

	public Integer getNumberOrders() {
		return numberOrders;
	}

	public void setNumberOrders(Integer numberOrders) {
		this.numberOrders = numberOrders;
	}

	public Integer getGtype() {
		return gtype;
	}

	public void setGtype(Integer gtype) {
		this.gtype = gtype;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Integer getPaixu() {
		return paixu;
	}

	public void setPaixu(Integer paixu) {
		this.paixu = paixu;
	}

	public Date getDateStart() {
		return dateStart;
	}

	public void setDateStart(Date dateStart) {
		this.dateStart = dateStart;
	}

	public Date getDateEnd() {
		return dateEnd;
	}

	public void setDateEnd(Date dateEnd) {
		this.dateEnd = dateEnd;
	}

	public String getPackinglist() {
		return packinglist;
	}

	public void setPackinglist(String packinglist) {
		this.packinglist = packinglist;
	}

	public String getAfterservice() {
		return afterservice;
	}

	public void setAfterservice(String afterservice) {
		this.afterservice = afterservice;
	}

	public Integer getHasSku() {
		return hasSku;
	}

	public void setHasSku(Integer hasSku) {
		this.hasSku = hasSku;
	}

	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getStores() {
		return stores;
	}

	public void setStores(Integer stores) {
		this.stores = stores;
	}

	public String getVideo() {
		return video;
	}

	public void setVideo(String video) {
		this.video = video;
	}

	public Integer getXiangou() {
		return xiangou;
	}

	public void setXiangou(Integer xiangou) {
		this.xiangou = xiangou;
	}

	public String getPic() {
		return pic;
	}

	public void setPic(String pic) {
		this.pic = pic;
	}

//	public Integer getShareBonusType() {
//		return shareBonusType;
//	}
//
//	public void setShareBonusType(Integer shareBonusType) {
//		this.shareBonusType = shareBonusType;
//	}
//
//	public BigDecimal getShareMount() {
//		return shareMount;
//	}
//
//	public void setShareMount(BigDecimal shareMount) {
//		this.shareMount = shareMount;
//	}

	public Double getMaxUseJifen() {
		return maxUseJifen;
	}

	public void setMaxUseJifen(Double maxUseJifen) {
		this.maxUseJifen = maxUseJifen;
	}

	public Integer getMaxUseCoupon() {
		return maxUseCoupon;
	}

	public void setMaxUseCoupon(Integer maxUseCoupon) {
		this.maxUseCoupon = maxUseCoupon;
	}

	public Integer getNumberSale() {
		return numberSale;
	}

	public void setNumberSale(Integer numberSale) {
		this.numberSale = numberSale;
	}

	public String getBarcode() {
		return barcode;
	}

	public void setBarcode(String barcode) {
		this.barcode = barcode;
	}

	public Double getWeight() {
		return weight;
	}

	public void setWeight(Double weight) {
		this.weight = weight;
	}

	public Integer getViews() {
		return views;
	}

	public void setViews(Integer views) {
		this.views = views;
	}

	public BigDecimal getSaleprice() {
		return saleprice;
	}

	public void setSaleprice(BigDecimal saleprice) {
		this.saleprice = saleprice;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public Date getModifytime() {
		return modifytime;
	}

	public void setModifytime(Date modifytime) {
		this.modifytime = modifytime;
	}

	public Long getModifier() {
		return modifier;
	}

	public void setModifier(Long modifier) {
		this.modifier = modifier;
	}

	public Integer getIsMember() {
		return isMember;
	}

	public void setIsMember(Integer isMember) {
		this.isMember = isMember;
	}

	public Integer getIsJifen() {
		return isJifen;
	}

	public void setIsJifen(Integer isJifen) {
		this.isJifen = isJifen;
	}

	public Integer getIsCoupon() {
		return isCoupon;
	}

	public void setIsCoupon(Integer isCoupon) {
		this.isCoupon = isCoupon;
	}

	public Integer getIsHot() {
		return isHot;
	}

	public void setIsHot(Integer isHot) {
		this.isHot = isHot;
	}

	public void setMid(Long mid) {
		this.mid = mid;
	}

	public Long getUid() {
		return uid;
	}

	public void setUid(Long uid) {
		this.uid = uid;
	}

	public Long getMid() {
		return mid;
	}

	public Long getMpid() {
		return mpid;
	}

	public void setMpid(Long mpid) {
		this.mpid = mpid;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getPhotos() {
		return photos;
	}

	public void setPhotos(String photos) {
		this.photos = photos;
	}

	public Integer getIsRecommend() {
		return isRecommend;
	}

	public void setIsRecommend(Integer isRecommend) {
		this.isRecommend = isRecommend;
	}

	public Integer getIsNav() {
		return isNav;
	}

	public void setIsNav(Integer isNav) {
		this.isNav = isNav;
	}

	public Integer getDhshu() {
		return dhshu;
	}

	public void setDhshu(Integer dhshu) {
		this.dhshu = dhshu;
	}

	public Long getSid() {
		return sid;
	}

	public void setSid(Long sid) {
		this.sid = sid;
	}

	public BigDecimal getJifen() {
		return jifen;
	}

	public void setJifen(BigDecimal jifen) {
		this.jifen = jifen;
	}

	public Integer getZhiding() {
		return zhiding;
	}

	public void setZhiding(Integer zhiding) {
		this.zhiding = zhiding;
	}

	public Integer getCanyushu() {
		return canyushu;
	}

	public void setCanyushu(Integer canyushu) {
		this.canyushu = canyushu;
	}

	public String getJieshao() {
		return jieshao;
	}

	public void setJieshao(String jieshao) {
		this.jieshao = jieshao;
	}

	public Integer getIsShare() {
		return isShare;
	}

	public void setIsShare(Integer isShare) {
		this.isShare = isShare;
	}

	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	public String getHytype() {
		return hytype;
	}

	public void setHytype(String hytype) {
		this.hytype = hytype;
	}

	public String getHytypeName() {
		return hytypeName;
	}

	public void setHytypeName(String hytypeName) {
		this.hytypeName = hytypeName;
	}

	public String getYxtypeName() {
		return yxtypeName;
	}

	public void setYxtypeName(String yxtypeName) {
		this.yxtypeName = yxtypeName;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Store getStore() {
		return store;
	}

	public void setStore(Store store) {
		this.store = store;
	}

	public Boolean getShoucang() {
		return shoucang;
	}

	public void setShoucang(Boolean shoucang) {
		this.shoucang = shoucang;
	}

	public List<PintuanOpen> getPintuan() {
		return pintuan;
	}

	public void setPintuan(List<PintuanOpen> pintuan) {
		this.pintuan = pintuan;
	}

	public List<CutpriceOpen> getKanjia() {
		return kanjia;
	}

	public void setKanjia(List<CutpriceOpen> kanjia) {
		this.kanjia = kanjia;
	}

	public List<PintuanLog> getTuanyuan() {
		return tuanyuan;
	}

	public void setTuanyuan(List<PintuanLog> tuanyuan) {
		this.tuanyuan = tuanyuan;
	}

	public List<CutpriceHelp> getKanyuan() {
		return kanyuan;
	}

	public void setKanyuan(List<CutpriceHelp> kanyuan) {
		this.kanyuan = kanyuan;
	}

	public List<Choujiang> getJianpin() {
		return jianpin;
	}

	public void setJianpin(List<Choujiang> jianpin) {
		this.jianpin = jianpin;
	}

	public List<ChoujiangLog> getChoujilu() {
		return choujilu;
	}

	public void setChoujilu(List<ChoujiangLog> choujilu) {
		this.choujilu = choujilu;
	}

	public List<GoodsSku> getSkuList() {
		return skuList;
	}

	public void setSkuList(List<GoodsSku> skuList) {
		this.skuList = skuList;
	}

	public Boolean getDpshoucang() {
		return dpshoucang;
	}

	public void setDpshoucang(Boolean dpshoucang) {
		this.dpshoucang = dpshoucang;
	}

	public String getExtkey1() {
		return extkey1;
	}

	public void setExtkey1(String extkey1) {
		this.extkey1 = extkey1;
	}

	public String getExtval1() {
		return extval1;
	}

	public void setExtval1(String extval1) {
		this.extval1 = extval1;
	}

	public String getExtkey2() {
		return extkey2;
	}

	public void setExtkey2(String extkey2) {
		this.extkey2 = extkey2;
	}

	public String getExtval2() {
		return extval2;
	}

	public void setExtval2(String extval2) {
		this.extval2 = extval2;
	}

	public String getExtkey3() {
		return extkey3;
	}

	public void setExtkey3(String extkey3) {
		this.extkey3 = extkey3;
	}

	public String getExtval3() {
		return extval3;
	}

	public void setExtval3(String extval3) {
		this.extval3 = extval3;
	}

	public Integer getIsXuni() {
		return isXuni;
	}

	public void setIsXuni(Integer isXuni) {
		this.isXuni = isXuni;
	}

	public Integer getFenxiaoshu() {
		return fenxiaoshu;
	}

	public void setFenxiaoshu(Integer fenxiaoshu) {
		this.fenxiaoshu = fenxiaoshu;
	}

	public Integer getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Integer isDeleted) {
		this.isDeleted = isDeleted;
	}

	public Integer getPtotal() {
		return ptotal;
	}

	public void setPtotal(Integer ptotal) {
		this.ptotal = ptotal;
	}

	public Integer getFxlevel() {
		return fxlevel;
	}

	public void setFxlevel(Integer fxlevel) {
		this.fxlevel = fxlevel;
	}

//	public Integer getZgfanType() {
//		return zgfanType;
//	}
//
//	public void setZgfanType(Integer zgfanType) {
//		this.zgfanType = zgfanType;
//	}
//
//	public Integer getZgfanMount() {
//		return zgfanMount;
//	}
//
//	public void setZgfanMount(Integer zgfanMount) {
//		this.zgfanMount = zgfanMount;
//	}
//
//	public Integer getFxmode() {
//		return fxmode;
//	}
//
//	public void setFxmode(Integer fxmode) {
//		this.fxmode = fxmode;
//	}

	public Integer getMlevel() {
		return mlevel;
	}

	public void setMlevel(Integer mlevel) {
		this.mlevel = mlevel;
	}

	public String getSharewa() {
		return sharewa;
	}

	public void setSharewa(String sharewa) {
		this.sharewa = sharewa;
	}

	public String getShareimg() {
		return shareimg;
	}

	public void setShareimg(String shareimg) {
		this.shareimg = shareimg;
	}

	public Long getGdcid() {
		return gdcid;
	}

	public void setGdcid(Long gdcid) {
		this.gdcid = gdcid;
	}

	public String getThumb() {
		return thumb;
	}

	public void setThumb(String thumb) {
		this.thumb = thumb;
	}

	public String getQuans() {
		return quans;
	}

	public void setQuans(String quans) {
		this.quans = quans;
	}

//	public Long getZgfanYwid() {
//		return zgfanYwid;
//	}
//
//	public void setZgfanYwid(Long zgfanYwid) {
//		this.zgfanYwid = zgfanYwid;
//	}
//
//	public Long getShareYwid() {
//		return shareYwid;
//	}
//
//	public void setShareYwid(Long shareYwid) {
//		this.shareYwid = shareYwid;
//	}

	public String getExtkey() {
		return extkey;
	}

	public void setExtkey(String extkey) {
		this.extkey = extkey;
	}

	public String getExtval() {
		return extval;
	}

	public void setExtval(String extval) {
		this.extval = extval;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getThumbhd() {
		return thumbhd;
	}

	public void setThumbhd(String thumbhd) {
		this.thumbhd = thumbhd;
	}

	public Long getTplid() {
		return tplid;
	}

	public void setTplid(Long tplid) {
		this.tplid = tplid;
	}

	public Integer getIsqunzf() {
		return isqunzf;
	}

	public void setIsqunzf(Integer isqunzf) {
		this.isqunzf = isqunzf;
	}

	public Long getLeagueid() {
		return leagueid;
	}

	public void setLeagueid(Long leagueid) {
		this.leagueid = leagueid;
	}

	public Integer getHexiaoshu() {
		return hexiaoshu;
	}

	public void setHexiaoshu(Integer hexiaoshu) {
		this.hexiaoshu = hexiaoshu;
	}

	public Integer getFxjiangshu() {
		return fxjiangshu;
	}

	public void setFxjiangshu(Integer fxjiangshu) {
		this.fxjiangshu = fxjiangshu;
	}

	public BigDecimal getLmfan() {
		return lmfan;
	}

	public void setLmfan(BigDecimal lmfan) {
		this.lmfan = lmfan;
	}

	public BigDecimal getPtfan() {
		return ptfan;
	}

	public void setPtfan(BigDecimal ptfan) {
		this.ptfan = ptfan;
	}

	public BigDecimal getHyprice() {
		return hyprice;
	}

	public void setHyprice(BigDecimal hyprice) {
		this.hyprice = hyprice;
	}

	public String getHomeurl() {
		return homeurl;
	}

	public void setHomeurl(String homeurl) {
		this.homeurl = homeurl;
	}

	public String getGoodsNo() {
		return goodsNo;
	}

	public void setGoodsNo(String goodsNo) {
		this.goodsNo = goodsNo;
	}

//	public Integer getFantimeType() {
//		return fantimeType;
//	}
//
//	public void setFantimeType(Integer fantimeType) {
//		this.fantimeType = fantimeType;
//	}

	public Integer getPstype() {
		return pstype;
	}

	public void setPstype(Integer pstype) {
		this.pstype = pstype;
	}

	public Long getSupplyid() {
		return supplyid;
	}

	public void setSupplyid(Long supplyid) {
		this.supplyid = supplyid;
	}

	public Long getStaffid() {
		return staffid;
	}

	public void setStaffid(Long staffid) {
		this.staffid = staffid;
	}

	public Integer getTimelong() {
		return timelong;
	}

	public void setTimelong(Integer timelong) {
		this.timelong = timelong;
	}

	public String getXmtype() {
		return xmtype;
	}

	public void setXmtype(String xmtype) {
		this.xmtype = xmtype;
	}

	public Integer getFanwei() {
		return fanwei;
	}

	public void setFanwei(Integer fanwei) {
		this.fanwei = fanwei;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "Goods{" +
			"id=" + id +
			", cid=" + cid +
			", characteristic=" + characteristic +
			", logisticsId=" + logisticsId +
			", minPrice=" + minPrice +
			", name=" + name +
			", numberFav=" + numberFav +
			", numberGrade=" + numberGrade +
			", numberOrders=" + numberOrders +
			", price=" + price +
			", paixu=" + paixu +
			", dateStart=" + dateStart +
			", dateEnd=" + dateEnd +
			", xiangou=" + xiangou +
			", info=" + info +
			", state=" + state +
			", stores=" + stores +
			", video=" + video +
			", pic=" + pic +
			", maxUseJifen=" + maxUseJifen +
			", maxUseCoupon=" + maxUseCoupon +
			", barcode=" + barcode +
			", weight=" + weight +
			", views=" + views +
			", createtime=" + createtime +
			", modifytime=" + modifytime +
			"}";
	}
}
